package com.iplant.pdm.service.basicenum.pdm;

/**
 * 条码类型
 *
 * @author YouWang·Peng
 * 2023-8-30 15:58:49
 */
public enum PDMComponentTypes {
    /**
     * 默认
     */
    Default(0, "默认"),
    /**
     * 工装
     */
    Frock(1, "工装"),
    /**
     * 元件
     */
    Component(2, "元件"),
    /**
     * 芯子   电容包
     */
    Core(3, "芯子"),

    /**
     * 芯组
     */
    CoreGroup(4, "芯子组"),

    /**
     * 成品
     */
    Product(5, "成品"),

    /**
     * 成品模具
     */
    ProductCase(6, "成品模具"),

    /**
     * 托盘
     */
    Tray(7, "托盘"),
    /**
     * 外壳   模组   产成品
     */
    OutProduct(8, "出厂成品"),
    /**
     * 箱体
     */
    Box(9, "箱体"),
    /**
     * 工单
     */
    WorkOrder(10, "工单"),
    /**
     * 模具
     */
    Mold(11, "模具");

    private int value;
    private String label;

    PDMComponentTypes(int value, String label) {
        this.value = value;
        this.label = label;
    }

    /**
     * 通过 value 的数值获取枚举实例
     */
    public static PDMComponentTypes getEnumType(int val) {
        for (PDMComponentTypes type : PDMComponentTypes.values()) {
            if (type.getValue() == val) {
                return type;
            }
        }
        return Default;
    }

    /**
     * 通过 value 的数值获取枚举实例
     */
    public static PDMComponentTypes getEnumType(String val) {
        for (PDMComponentTypes type : PDMComponentTypes.values()) {
            if (type.getLabel().equals(val)) {
                return type;
            }
        }
        return Default;
    }


    public int getValue() {
        return value;
    }

    public String getLabel() {
        return label;
    }
}
